<?php

/**
 * konkurencija actions.
 *
 * @package    marketing
 * @subpackage konkurencija
 * @author     Your name here
 */
class konkurencijaActions extends sfActions {

    public function executeIndex(sfWebRequest $request) {
        if ($request->hasParameter('proizvod_id')) {
            $proizvod_id = $request->getParameter('proizvod_id');
            $this->getUser()->setAttribute('proizvod_id', $proizvod_id);  
        }
        else $proizvod_id=$this->getUser()->getAttribute('proizvod_id');
       
        $c = new Criteria();
        $c->add(KonkurencijaProizvodPeer::PROIZVOD_ID, $proizvod_id, Criteria::EQUAL);
        $this->konkurencija_proizvod_list = KonkurencijaProizvodPeer::doSelect($c);
        
        if($this->konkurencija_proizvod_list != null){
            $min=$this->konkurencija_proizvod_list[0]->getCena();
            $max=$this->konkurencija_proizvod_list[0]->getCena();
            $total=0;
            foreach($this->konkurencija_proizvod_list as $entry){
                if($entry->getCena()<$min) $min=$entry->getCena();
                if($entry->getCena()>$max) $max=$entry->getCena();
                $total+=$entry->getCena();
            }
            $this->min=$min;
        $this->max=$max;
        $this->average=$total/count($this->konkurencija_proizvod_list);

        }

        $obj=ProizvodPeer::retrieveByPK($proizvod_id);
        $this->ime=$obj->getNaziv();

    }

    public function executeNew(sfWebRequest $request) {
        $this->form = new KonkurencijaProizvodForm();
    }

    public function executeCreate(sfWebRequest $request) {
        $this->forward404Unless($request->isMethod('post'));

        $this->form = new KonkurencijaProizvodForm();

        $this->processForm($request, $this->form);

        $this->setTemplate('new');
    }

    public function executeEdit(sfWebRequest $request) {
        $this->forward404Unless($konkurencija_proizvod = KonkurencijaProizvodPeer::retrieveByPk($request->getParameter('konkurencija_id'),
                         $this->getUser()->getAttribute('proizvod_id')), sprintf('Object konkurencija_proizvod does not exist (%s).', $request->getParameter('konkurencija_id'),
                         $this->getUser()->getAttribute('proizvod_id')));
        $this->form = new KonkurencijaProizvodForm($konkurencija_proizvod);
    }

    public function executeUpdate(sfWebRequest $request) {
        $this->forward404Unless($request->isMethod('post') || $request->isMethod('put'));
        $this->forward404Unless($konkurencija_proizvod = KonkurencijaProizvodPeer::retrieveByPk($request->getParameter('konkurencija_id'),
                         $this->getUser()->getAttribute('proizvod_id')), sprintf('Object konkurencija_proizvod does not exist (%s).', $request->getParameter('konkurencija_id'),
                         $this->getUser()->getAttribute('proizvod_id')));
        $this->form = new KonkurencijaProizvodForm($konkurencija_proizvod);

        $this->processForm($request, $this->form);

        $this->setTemplate('edit');
    }

    public function executeDelete(sfWebRequest $request) {
        $request->checkCSRFProtection();

        $this->forward404Unless($konkurencija_proizvod = KonkurencijaProizvodPeer::retrieveByPk($request->getParameter('konkurencija_id'),
                        $this->getUser()->getAttribute('proizvod_id')), sprintf('Object konkurencija_proizvod does not exist (%s).', $request->getParameter('konkurencija_id'),
                        $this->getUser()->getAttribute('proizvod_id')));
        $konkurencija_proizvod->delete();

        $this->redirect('konkurencija/index');
    }

    protected function processForm(sfWebRequest $request, sfForm $form) {
        $temp=$request->getParameter($form->getName());
        $temp['proizvod_id']=$this->getUser()->getAttribute('proizvod_id');
       
        $form->bind($temp, $request->getFiles($form->getName()));
        
        if ($form->isValid()) {
            $konkurencija_proizvod = $form->save();

            $this->redirect('konkurencija/index');
        }
    }

}
